# 简单的 list集合。和arrayList一样
list1 = [1,3,2,4,2,1]

print('list1修改前' + str(list1))
# 修改下标为 0 的值
list1[0] = 4
print('list1修改后' + str(list1))
# 添加一个值为2
list1.append(2)
print('list1添加后' + str(list1))
# 删除最后一个元素
# list1.remove(2)  删除第一次出现的 元素为2的
# list1.pop(3)     删除下标为3的元素
print('list1删除后' + str(list1))
# 查看list1的长度
list1.append(2)
print('list1长度' + str(len(list1)-1))
# 分片 取下标为 包含1  到下标为3但是不包含3的进行截取
print(list1)
print(list1[1:3])
# 前边不填默认就是0开始
print(list1[:3])
# 后面不写默认是到最后
print(list1[3:])
# set集合  可以进行去重和排序
set1 = {1,3,2,4,2,1}
set1.add(5)
print('set1' + str(set1))

# 元组 和list集合一样，只不过不能更改里面的值
dump1 = (1,3,2,4,2,1)
print('dump1' + str(dump1))

# 永久排序
# 对list1进行正序排序
list1.sort()
print(list1)
# 倒叙排序
list1.sort(reverse=True)
print(list1)

# 临时排序
# 正序
print(f"id:{id(sorted(list1))}")
print(f"id:{id(list1)}")
# 倒叙
print(sorted(list1,reverse=True))
print(list1)

# 字典 就是map   key也是要去重的
map = {'2':'hmh','0':'lkx','1':'hmh1'}
print(str(map))
print(map.get('hmh'))
# 根据key取值并且首字母大写
# 修改特定key的值
map['2'] = '2'
print(str(map))
# 删除键值对
del map['2']
print(str(map))

# 创建一个数组  1 - 10   包含1但是不包含10  数值列表
ran = range(1,10)
print(ran)
print(list(ran))
print(ran[0])
print('ran[9]'+str(ran[8]))
for r in ran:
    print(r)